Dynomotion

Group: DynoMotion Message: 8877 From: Hugh Sontag Date: 1/9/2014
Subject: Stepper motor current
Hi Tom,

I'd like your opinion on a phenomenon that I don't understand.

I've just finished retrofitting our CNC router with high-torque stepper motors (NEMA 34, 1700 oz-in, 7 amps per winding), and I have the machine running well.

When I look at the effects of a "Move" in the "Step Response" window, I see a waveform for the axis current as shown in the attached picture "Stepper Motor Current vs time.png".

I initially wanted to double-check that Lead Compensation is working, but I'm puzzled by the result.

The axis current is 7 amps peak at slow speeds. As the frequency of the coil current passes point A in the picture, its amplitude starts to fall off. I call this point the "Knee".

The current continues to fall off as the frequency increases, up to 312 Hz (point B). 

At 312 Hz, the current starts to increase, due, I believe, to lead compensation.

If the lead compensation was correct, I expected to see the coil current to stay constant until the voltage available from the power supply (57 volts) was reached, and then the coil current to fall off.

I calculated the frequency of the knee due to the motor specs (0.45 ohms, 5.2 mH) to be 13.77 Hz. For this knee, I calculated the Lead value in the Configuration window to be 128.42.

The basic fall-off of coil current seems to not be affected by the the value of Lead. I tried values of 12, 24, 35 with little difference in behavior.

Could you comment on all this? I don't understand:

1. What causes the knee at point A? Why does the coil current fall off at 125 Hz?

2. Why does the lead compensation seem to have an effect from 125 to 312 Hz, but not earlier? Should I expect to keep the coil current constant to a higher frequency?

3. Do you have any suggestions on how I might better keep the coil current up at 7 amps to a higher frequency? Coil current is what provides torque, after all.

Thanks,
Hugh

  @@attachment@@
Group: DynoMotion Message: 8878 From: Tom Kerekes Date: 1/10/2014
Subject: Re: Stepper motor current [1 Attachment]
Hi Hugh,

Sorry for the confusion and some of our documentation not being up to date, but SnapAmp no longer uses lead compensation at all.  Originally KFLOP commanded PWM duty cycle to SnapAmp which corresponds to a voltage.  Voltage needs to be increased with speed requiring lead compensation and so forth.  But currently KFLOP commands current settings using (PWMC commands) to SnapAmp.  SnapAmp's FPGA performs a high speed digital current feedback loop to adjust the PWM (voltage) to try to achieve the desired current.  This means no lead compensation is required and also helps out with vibration and resonance issues as vibration induced current fluctuations will be damped out by the feedback.

So I believe the current drop off is simply caused by not having enough voltage to overcome the motor back-emf, inductance, and resistance.  Hi torque motors like this have high back-emf constants (in fact they are equal).  That is one of the problems with steppers - you just cant get high power out of them because a big high-torque motor will be slow, and a fast motor won't have much torque.

Do you have any torque curves for these motors?

If I did the math right for that motor:

    Torque Constant = 1700oz-in / 7A = 1.7 Nm/A

    Torque Constant = Back emf constant = 1.7 V/(rad/sec)

    at a frequency of 200Hz = 4 motor revs per second = 25 rad/sec

    Bemf = Kt x W = 1.7 x 25 = 42.5V


So at even that relatively low speed (240RPM) there is a lot of back-emf.

I have never fully understood why the current increases again at higher speeds.  I think this caused by the back-emf itself.  Imagine if you forced a stepper to spin at high speed with the coil wires shorted.   It becomes a complex problem with the back-emf, inductance, pwm, mass, all interacting.

You might try a higher supply voltage.  SnapAmp allows up to 80V.  But you should watch for excessive motor heating due to current ripple.

HTH
Regards
TK